Skip to contentMethod: create(String, String)
1: package auftraege.auftragsBildungsParameter.abstraction;
2:
3: import auftraege.VoraussichtlicheDokumentenklassenVariableVisitor;
4: import auftraege.factory.DokumentenklassenVariablenFactory;
5:
6: /**
7: * Variable einer Dokumentenklasse. Könnte beispielsweise das Papierformat sein, in welchem die Dokumentenklasse vorliegt.
8: * Diese Variablen werden benötigt,
9: * damit bei der späteren Parametrisierung bei der Bildung der Produktionsaufträge die Dokumentenklassen ausgewählt werden können.
10: * <p/>
11: * Jede {@link DokumentenklassenVariable} ist auch eine {@link VoraussichtlicheDokumentenklassenVariable}.
12: * TODO Art: Work in Progress; Jan macht sich da nochmal Gedanken drüber, ob es nicht
13: * lieber zwei Interfaces sein sollten, die dann eins darüber haben sollten
14: */
15: public interface DokumentenklassenVariable extends VoraussichtlicheDokumentenklassenVariable {
16:
17:         /**
18:          * Diese Methode kreiert eine neue unbekannteVariable, die vom Typ DokumentenklassenVariable ist. Es wird überprüft, ob es schon eine unbekannte Variable mit der
19:          * Bezeichnung und dem neuen Wert. Es wird eine
20:          *
21:          * @param bezeichnung und ein
22:          * @param wert hineingegeben.
23:          * @return DokumentenklassenVariable
24:          */
25:         static DokumentenklassenVariable create(final String bezeichnung, final String wert) {
26:                 return DokumentenklassenVariablenFactory.INSTANCE.verarbeite(bezeichnung, wert);
27:         }
28:
29:
30:         /**
31:          * akzeptiert einen {@link DokumentenklassenVariablenVisitor}.
32:          *
33:          * @param v zu akzeptierender Visitor.
34:          * @param <T> Rückgabedatenyp
35:          * @return den Rückgabewert des handles vom Visitor v.
36:          */
37:         <T> T accept(DokumentenklassenVariablenVisitor<T> v);
38:
39:         @Override
40:         default <T> T accept(final VoraussichtlicheDokumentenklassenVariableVisitor<T> v) {
41:                 return v.handle(this);
42:         }
43: }